﻿import { Mix } from "@antv/g2plot";

/**
 * @name umi 的路由配置
 * @description 只支持 path,component,routes,redirect,wrappers,name,icon 的配置
 * @param path  path 只支持两种占位符配置，第一种是动态参数 :id 的形式，第二种是 * 通配符，通配符只能出现路由字符串的最后。
 * @param component 配置 location 和 path 匹配后用于渲染的 React 组件路径。可以是绝对路径，也可以是相对路径，如果是相对路径，会从 src/pages 开始找起。
 * @param routes 配置子路由，通常在需要为多个路径增加 layout 组件时使用。
 * @param redirect 配置路由跳转
 * @param wrappers 配置路由组件的包装组件，通过包装组件可以为当前的路由组件组合进更多的功能。 比如，可以用于路由级别的权限校验
 * @param name 配置路由的标题，默认读取国际化文件 menu.ts 中 menu.xxxx 的值，如配置 name 为 login，则读取 menu.ts 中 menu.login 的取值作为标题
 * @param icon 配置路由的图标，取值参考 https://ant.design/components/icon-cn， 注意去除风格后缀和大小写，如想要配置图标为 <StepBackwardOutlined /> 则取值应为 stepBackward 或 StepBackward，如想要配置图标为 <UserOutlined /> 则取值应为 user 或者 User
 * @doc https://umijs.org/docs/guides/routes
 */
export default [
  {
    path: '/user',
    layout: false,
    routes: [
      {
        name: 'login',
        path: '/user/login',
        component: './User/Login',
      },
    ],
  },
  {
    path: '/',
    component: '@/layouts/BasicLayout',
    routes: [
      {
        path: '/welcome',
        name: 'welcome',
        icon: 'smile',
        component: './Welcome',
      },

      //资源管理
      {
        path: '/system/resourcemanage',

        routes: [
          {
            path: '/system/resourcemanage',
            component: './System/ResourceManage/ResourceManageList',
          },
          {
            path: '/system/resourcemanage/add',

            component: './System/ResourceManage/ResourceManageAdd',
          },
          {
            path: '/system/resourcemanage/edit',

            component: './System/ResourceManage/ResourceManageEdit',
          },
          {
            path: '/system/resourcemanage/view',

            component: './System/ResourceManage/ResourceManageView',
          },
        ],
      },

      //用户管理
      {
        path: '/system/usermanage',

        routes: [
          {
            path: '/system/usermanage',
            component: './System/UserManage/UserManage',
          },
          {
            path: '/system/usermanage/add',
            component: './System/UserManage/UserManageAdd',
          },
          {
            path: '/system/usermanage/edit',
            component: './System/UserManage/UserManageEdit',
          },
          {
            path: '/system/usermanage/view',
            component: './System/UserManage/UserManageView',
          },
        ],
      },
      //部门管理
      {
        path: '/system/departmentmanage',

        routes: [
          {
            path: '/system/departmentmanage',
            component: './System/DepartmentManage/DepartmentManage',
          },
          {
            path: '/system/departmentmanage/add',
            component: './System/DepartmentManage/DepartmentAdd',
          },
          {
            path: '/system/departmentmanage/edit',
            component: './System/DepartmentManage/DepartmentEdit',
          },
          {
            path: '/system/departmentmanage/view',
            component: './System/DepartmentManage/DepartmentView',
          },
        ],
      },

      //岗位管理
      {
        path: '/system/PostManagement',
        routes: [
          {
            path: '/system/PostManagement',
            component: './System/PostManagement/PostManagement',
          },
          {
            path: '/system/PostManagement/add',
            component: './System/PostManagement/PostManagementAdd',
          },
          {
            path: '/system/PostManagement/edit',
            component: './System/PostManagement/PostManagementEdit',
          },
          {
            path: '/system/PostManagement/view',
          component: './System/PostManagement/PostManagementView',
          },
        ],
      },
      //API管理
      {
        path: '/system/apimanage',
        name: 'apiManage',
        routes: [
          {
            path: '/system/apimanage',
            component: './System/ApiManage/ApiManageList',
          },
          {
            path: '/system/apimanage/add',
            name: 'addApi',
            component: './System/ApiManage/ApiManageAdd',
          },
          {
            path: '/system/apimanage/edit',
            name: 'editApi',
            component: './System/ApiManage/ApiManageEdit',
          },
          {
            path: '/system/apimanage/view',
            name: 'viewApi',
            component: './System/ApiManage/ApiManageView',
          },
        ],
      },

      {
        path: '/403',
        layout: false,
        component: './403',
      },
      {
        path: '*',
        layout: false,
        component: './404',
      }
    ]
  }
];
// console.log('Routes configuration:', routes);

